package cn.iocoder.yudao.module.exam.dal.dataobject.exam;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 考试管理 DO
 *
 * @author Francis
 */
@TableName("exam")
@KeySequence("exam_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExamDO extends BaseDO {

    /**
     * 考试ID
     */
    @TableId
    private Long id;
    /**
     * 编号
     */
    private String examCode;
    /**
     * 考试名称
     */
    private String examName;
    /**
     * 考试类型
     */
    private String examType;
    /**
     * 学年
     */
    private String academicYear;
    /**
     * 学期
     */
    private Integer semester;
    /**
     * 年级
     *
     * 枚举 {@link TODO exam_grade 对应的类}
     */
    private String grade;
    /**
     * 学科
     *
     * 枚举 {@link TODO exam_subject 对应的类}
     */
    private String subject;
    /**
     * 考试日期
     */
    private LocalDate examDate;
    /**
     * 试卷总分
     */
    private BigDecimal totalScore;
    /**
     * 题目总数
     */
    private Integer questionCount;
    /**
     * 答题卡类型
     */
    private String answerCardType;
    /**
     * 原始试卷文件路径
     */
    private String originalPaperUrl;
    /**
     * 答题卡模板文件路径
     */
    private String answerCardTemplateUrl;
    /**
     * 标准答案文件路径
     */
    private String standardAnswerUrl;
    /**
     * 状态
     */
    private Integer status;


}